#ifndef CRYPTOMANAGER_H
#define CRYPTOMANAGER_H

#include <filesystem>
#include <fstream>
#include "ciphermanager.h"
#include "secureDataMap.h"

namespace crypto {
class cryptomanager
{
public:
	cryptomanager(const std::filesystem::path& path, utils::CipherAlgorithm algorithm, const Botan::SymmetricKey &key);

	SecureDataMap getData();

	void WriteData(SecureDataMap& map);

	~cryptomanager();

private:
	cipherManager manager;
	std::fstream file;
	utils::CipherAlgorithm algorithm;
	Botan::SymmetricKey key;
	std::filesystem::path path;
};
}
#endif // CRYPTOMANAGER_H
